package main

import (
	"mdpack/util"
)

var cliParserConfig = (&util.CliParserConfig{
	MultiCommand: true,
	NoArgument: false,
	DefaultCommand: "",
	Translate: util.CliParserTranslate{
		BinName: "mdpack",
		Version: "v1.0.0",
		MultiCommandHelp: "此命令用来将一个或者多个markdown文本文件，编译并打包生成一个离线的html文件",
	},
}).AddCommand(
	(&util.CliParserCommand {
		Key: "pack",
		Help: "此命令用来将一个或者多个markdown文本文件，编译并打包生成一个离线的html文件",
		Desc: "编译打包markdown",
		ArgumentHelp: "工程文件路径、目录路径或markdown文件路径",
		Handle: default_command_handle,
	}),
).AddCommand(
	(&util.CliParserCommand {
		Key: "create",
		Help: "此命令用来创建一个工程配置文件",
		Desc: "创建工程配置文件",
		ArgumentHelp: "工程文件路径、目录路径或markdown文件路径",
		Handle: default_command_handle,
	}).AddSwitch("test", "获取数值"),
)

func main() {
	// logger := log.NewWithOptions(os.Stdout, log.Options{
	// 	ReportTimestamp: false,
	// })

	// defStyle := *log.DefaultStyles()
	// defStyle.Levels[log.ErrorLevel] = lipgloss.NewStyle().
	// 	SetString("ERROR!!").
	// 	Padding(0, 1, 0, 1).
	// 	Background(lipgloss.AdaptiveColor{
	// 		Light: "203",
	// 		Dark:  "204",
	// 	}).
    // 	Foreground(lipgloss.Color("0"))
	// logger.SetStyles(&defStyle)
	// logger.Error("test")
	// log.Error("test11")



	// util.Print("log test")
	// util.PrintWarn("log warn")
	// util.PrintSuccess("log success")
	// util.PrintError("log err")

	ca := (&util.CliParser{}).SetConfig(cliParserConfig)
	ca.Parse().Handle()

	// ary := []int {1,2,3,4,5,6}
	// ret := util.ArrayFilter(ary, func(row int, index int) bool {
	// 	return row >= 4
	// })
	// fmt.Printf("%v", ret)
}

type ttt struct {
	Fn func() string
}

func test(a string, b ...string) string {
	return util.GetFuncDefaultArg(b, "default")
}